1. Field
The present invention relates to workload placement in a computer system.
2. Description of the Related Art
Computer systems commonly comprise a group of subsystems arranged to intercommunicate, typically arranged in a client/server or a client/server/target architecture. A given subsystem may be implemented as a client, server or target application program. Such computer systems may be implemented on a single computer or on a set of one or more computers interconnected by one or more networks with the client, server or target application programs being distributed across the set of computers.
The functionality of such computer systems is typically provided by collaboration of the client, server or target application programs via respective contributions to shared workload. Such workload is typically made up of multiple workflows comprising a set of logic units or modules, each logic module being arranged for processing by one of the client, server or target application programs. In other words, the logic modules of a given workflow may be partitioned with a given partition assigned to the relevant client, server or target application program processing the workflow.
One problem with such distributed processing of workflows is that if a given sub-system becomes strained, for example due to a shortage of processing resources, a bottleneck may be created in the workflow resulting in a degradation of the performance of the workflow as a whole.